home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Comm / AmiTCP30b2.lha / netinclude / netdb.h < prev    next >
C/C++ Source or Header  |  1994-04-04  |  3KB  |  99 lines

  1. #ifndef NETDB_H
  2. #define NETDB_H
  3. /*
  4.  * $Id: netdb.h,v 1.11 1994/04/03 23:41:20 jraja Exp $
  5.  *
  6.  * Network Database Structures and Defintions
  7.  *
  8.  * Copyright © 1993 AmiTCP/IP Group, <amitcp-group@hut.fi>
  9.  *                  Helsinki University of Technology, Finland.
  10.  *                  All rights reserved.
  11.  */
  12.  
  13. /*-
  14.  * Copyright (c) 1980, 1983, 1988 Regents of the University of California.
  15.  * All rights reserved.
  16.  *
  17.  * Redistribution and use in source and binary forms are permitted
  18.  * provided that: (1) source distributions retain this entire copyright
  19.  * notice and comment, and (2) distributions including binaries display
  20.  * the following acknowledgement:  ``This product includes software
  21.  * developed by the University of California, Berkeley and its contributors''
  22.  * in the documentation or other materials provided with the distribution
  23.  * and in all advertising materials mentioning features or use of this
  24.  * software. Neither the name of the University nor the names of its
  25.  * contributors may be used to endorse or promote products derived
  26.  * from this software without specific prior written permission.
  27.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  28.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  29.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  30.  */
  31.  
  32. #define _PATH_DB            "AmiTCP:db"
  33. #define _PATH_AMITCP_CONFIG "AmiTCP:db/AmiTCP.config"
  34. #define _PATH_NETDB         "AmiTCP:db/netdb"
  35. #define    _PATH_HEQUIV        "AmiTCP:db/hosts.equiv"
  36. #define    _PATH_INETDCONF        "AmiTCP:db/inetd.conf"
  37.  
  38. /*
  39.  * Structures returned by network data base library.  All addresses are
  40.  * supplied in host order, and returned in network order (suitable for
  41.  * use in system calls).
  42.  */
  43. struct    hostent {
  44.     char    *h_name;    /* official name of host */
  45.     char    **h_aliases;    /* alias list */
  46.     int    h_addrtype;    /* host address type */
  47.     int    h_length;    /* length of address */
  48.     char    **h_addr_list;    /* list of addresses from name server */
  49. #define    h_addr    h_addr_list[0]    /* address, for backward compatiblity */
  50. };
  51.  
  52. /*
  53.  * Assumption here is that a network number
  54.  * fits in 32 bits -- probably a poor one.
  55.  */
  56. struct    netent {
  57.     char        *n_name;    /* official name of net */
  58.     char        **n_aliases;    /* alias list */
  59.     int        n_addrtype;    /* net address type */
  60.     unsigned long    n_net;        /* network # */
  61. };
  62.  
  63. struct    servent {
  64.     char    *s_name;    /* official service name */
  65.     char    **s_aliases;    /* alias list */
  66.     int    s_port;        /* port # */
  67.     char    *s_proto;    /* protocol to use */
  68. };
  69.  
  70. struct    protoent {
  71.     char    *p_name;    /* official protocol name */
  72.     char    **p_aliases;    /* alias list */
  73.     int    p_proto;    /* protocol # */
  74. };
  75.  
  76. #ifndef KERNEL
  77.  
  78. #ifndef BSDSOCKET_H
  79. #include <bsdsocket.h>
  80. #endif
  81.  
  82. #endif /* !KERNEL */
  83.  
  84. /*
  85.  * Error return codes from gethostbyname() and gethostbyaddr()
  86.  * (left in extern int h_errno).
  87.  */
  88. #ifndef KERNEL
  89. extern    int h_errno;
  90. #endif
  91.  
  92. #define    HOST_NOT_FOUND    1 /* Authoritative Answer Host not found */
  93. #define    TRY_AGAIN    2 /* Non-Authoritive Host not found, or SERVERFAIL */
  94. #define    NO_RECOVERY    3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
  95. #define    NO_DATA        4 /* Valid name, no data record of requested type */
  96. #define    NO_ADDRESS    NO_DATA        /* no address, look for MX record */
  97.  
  98. #endif /* !NETDB_H */
  99.